Traffic Engineering (TE) is a technology that is concerned with performance optimization of operational networks. In general, Traffic Engineering includes a set of applications mechanisms, tools, and scientific principles that allow for measuring, modeling, characterizing and control of data traffic in order to achieve specific performance objectives.
Generally, optical networks comprise a collection of interconnected heterogeneous termination points. The characteristics of interconnections among different termination points may vary widely. A network solution provider is often required to implement a number of features that operate on the network for retrieval, propagation, injection, and processing of information. However, the termination points, their interconnections, and the features that need to operate on the termination points may differ from one another. Because of these differences, prior systems required the development and use of feature-specific and link-specific modules, which are difficult to reuse. Commonly, designers would design network link-level features focusing on the details of the features and the nature of the link (between or inside network devices) on which it operates. However, this resulted in development of software modules which have the business logic of the feature strongly coupled with the mechanism of retrieval, propagation, and injection of feature specific information in a link specific manner.
Extending the same feature over new sorts of network links, or even new types of termination points and interconnections in an existing network link, necessitated modification and verification of the existing software modules. In addition, as the software modules were changed to add more and more network link specific code, readability and maintainability of the feature business logic degraded. As a consequence, a new feature could not reuse the software modules of any of the existing features even if the features operated on the same network.
What is needed are systems and methods that separate link-level traversal from feature-based implementation in order to create easily maintainable and reusable systems for link-agnostic retrieval, propagation, and/or injection of information in heterogeneous networks, and that also allow swift implementation and simple fault (“bug”) isolation.